
package com.monlyu.util;

import java.io.File;

/********************************************************************************
 * <b>功能描述☞</b>文件的相关操作<br>
 * <b>开发公司☞</b>重庆唯尼科技有限公司<br>
 * <b>版权☞</b>本文件归重庆唯尼科技有限公司所有<br>
 * <b>项目名☞</b>NewsSys<br>
 * <b>文件路径☞</b>com.monlyu.util.FileUtil.java<br>
 * <b>开发日期☞</b>2010-2-24 <br>
 * 
 * @author monlyu
 * @since JDK 5
 * @version 1.0.8
 ********************************************************************************/
public class FileUtil {

    /**
     * 获取随机的文件名字
     * 
     * @since 2010-2-24
     */
    public static String randFName(String name){
        return getNewFileName(name, getUUID());
    }

    public static synchronized String getUUID(){
        return SecurityUtil.getUUIDStr();
    }

    public static String getNewFileName(String name, String newName){
        if (StringUtil.isEmpty(fileExtens(name))) {
            return newName;
        }
        return newName + fileExtens(name);
    }

    /** 返回文件的后缀名 */
    public static String fileExtens(String fileString){
        int p = fileString.lastIndexOf(".");
        if (p > 0) {
            return fileString.substring(p);
        }
        return "";
    }

    public static void deleteFileAndDir(File f){
        for (File l : f.listFiles()) {
            if (l.isDirectory()) {
                deleteFileAndDir(l);
                l.delete();
            } else {
                System.out.println("del:" + l.getAbsolutePath());
                l.delete();
            }
        }
    }

    /**
     * 追加文件名
     * 
     * @param file
     * @param append
     * @return
     */
    public static String appendFileName(File file, String append){
        String filepath = file.getAbsolutePath();
        return appendFileName(filepath, append);
    }

    public static String appendFileName(String filename, String append){
        int index = filename.lastIndexOf(".");
        return filename.substring(0, index) + append + filename.substring(index);
    }
}
